/**
 * @FileName Abstraction.java
 * @Package com.designMode.bridge
 * -------------------------------------
 * @function Please write description of function
 * @Date 2016-1-19 下午5:05:53
 * -------------------------------------
 * Copyright (c) 2016,顾博君 All Rights Reserved.
 */
package com.designMode.bridge;

/**
 * @author 顾博君
 * @ClassName Abstraction
 * @Date 2016-1-19 下午5:05:53
 * @Function 抽象化角色
 */
public abstract class Abstraction {
    private Implementor imp;

    /**
     * 桥接现实化角色
     *
     * @param imp 现实化角色
     */
    Abstraction(Implementor imp) {
        this.imp = imp;
    }

    /**
     * 自身的行为和属性
     */
    public abstract void request();

    /**
     * 实现化角色的桥梁
     *
     * @return 实现化角色
     */
    public Implementor getImp() {
        return imp;
    }
}
